[Auth0] Twilioを利用してパスワードレス+SMS認証できるようにしてみた
こんにちは。
ゲームソリューション部の西川です。
前にパスワードレスにやパスキー、MFAなどの機能を試してみました。
その続きとして、パスワードレス+SMS認証の設定を行なっていきたいと思います。
パスワードレスとは
その名の通り、パスワードを利用しない認証方法となります。
従来のパスワード認証は使い回しなどで漏れる心配があり、パスワードの管理によっては安全性が高いとは言えない認証方法となります。
パスワードレス認証では、パスワードの代わりにメールアドレスやSMSを利用することでパスワードを管理する必要がなくなり、より安全な認証方法と考えられます。
SMS認証とは
SMS認証もその名の通り、SMSを利用して認証を行う方法となります。
パスワードレスだけでなく、MFAとしても利用することがあります。
SMS認証は携帯の電話番号がSIMカードに紐づけられていることもあるため、乗っ取られる可能性が低く安全性が高い認証方法と言われています。
パスワードレス+SMS認証を行うことで、より安全な認証方法を実現できます。
パスワードレス自体が近年注目され始めたということもあり、まだまだ浸透していない認証方法となりますが、安全性を高めたい場合はぜひこちらの認証方法を検討してみてください。
Auth0ではTwilioと連携することでこの辺りの設定を簡単に行なっていくことができます。
それでは設定の方を早速やっていきます。
Twilioの設定
Twilioのアカウントはすでに作ってある前提で進めていきます。
電話番号の購入
まずは、電話番号を購入しておきます。
SMS認証を行う必要があるので、SMS利用のできる電話番号を取得します。
Messaging Serviceの作成
続いて、Messaging Serviceの作成の作成をしていきます。
任意の名前を入力して、何に利用するか選択したら、Create Messaging Service
を押下します。
次に、Messaging Serviceに電話番号を紐付けます。
Add Senders
を押下します。
先ほど購入した電話番号を選択したら、Step3: Set up integration
を押下します。
Step4と5は特に変更する箇所はないので、そのまま進めていきます。
作成が完了しました。
Twilioのダッシュボードに遷移し、アカウント情報からアカウントSID
と認証トークン
をコピーしておきます。
後ほど、Auth0の設定で利用します。
Auth0の設定
続いて、Auth0の設定を行います。
前提として、Authentication Profile
では、Identifer First
を選択しておきます。
まずは、Authentication
> Passwordless
からSMSの設定を開きます。
設定画面でTwilio SID
に先ほどのTwilioの設定をした際に表示されていたアカウントSID
の内容を入力します。
Twilio AuthToken
には認証トークン
の内容を入力します。
SMS SourceではUse From
を選択します。
Fromには購入した電話番号を入力し、Saveを押下します。
また、ここでUse Messaging Service
を利用する場合は、作成したMessaging ServiceのSIDを入力します。
Tryタブより、SMSの送信テストを行えるので、SMS recipient
にSMSを送信したい送信先の電話番号を入力して、Tryを押下します。
入力した電話番号にSMSでcodeが届くので、そのcodeを入力して、Continueを押下します。
無事SMSによる認証を行えました。
動作確認
動作確認にはチュートリアルにて作成済みのアプリケーションを利用します。
使用するアプリケーションのConnectionの設定より、SMS認証のみ有効にしておきます。
Loginを押下します。
電話番号が求められるので、SMSを送信したい電話番号を入力し、Continueを押下します。
SMSでcodeが送信されます。
送信されたコードを入力し、Continueを押下します。
認証の確認が表示されるのでAcceptを押下します。
無事ログインを行うことができました。
さいごに
以上でパスワードレス+SMS認証を行うことができました。
導入のところで記載させていただいた通り、パスワードレス+SMS認証は近年注目されている認証方法の一つのなるので、ぜひご検討ください。
このように、Auth0では様々な認証を行うことができます。
下記記事でも他の認証方法の設定をしているので、他にどのようなものがあるかなど気になる場合はご覧いただければと思います。
本記事がAuth0をご検討中の方などのご参考になっていれば幸いです。